package com.zjq.designpatterns.creation.prototype.code.clone;/*
 * 版权信息: 北京千⾥马网信科技有限公司</br>
 * Copyright ©2008-2018. All rights reserved. 京ICP备16007318号
 */

import java.util.Date;

/**
 * @author jessie
 * @version 1.0
 * @date 2021/1/22
 */
public class Test {
    public static void main(String[] args) throws CloneNotSupportedException {
        Date birthday = new Date(0L);
        Pig p1 = new Pig("佩奇", birthday);
        Pig p2 = (Pig) p1.clone();//并不是一个对象,需要重写hashcode才变成一个对象
        System.out.println(p1);
        System.out.println(p2);

        //两个对象的值都修改了,原因是只进行了浅克隆,debug只引用了一个对象，深克隆可解决问题
        p1.getBirthday().setTime(666688888888888L);
        System.out.println(p1);
        System.out.println(p2);
    }
}
